<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>EquTemper: ETUndoHead Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="$relpath<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="$relpath<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>/search.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">EquTemper&#160;<span id="projectnumber">1.01</span></div>
   <div id="projectbrief">An equation editor.</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.4 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<script type="text/javascript">
function hasClass(ele,cls) {
  return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
  if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
  if (hasClass(ele,cls)) {
    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
    ele.className=ele.className.replace(reg,' ');
  }
}

function toggleVisibility(linkObj) {
 var base = linkObj.getAttribute('id');
 var summary = document.getElementById(base + '-summary');
 var content = document.getElementById(base + '-content');
 var trigger = document.getElementById(base + '-trigger');
 if ( hasClass(linkObj,'closed') ) {
   summary.style.display = 'none';
   content.style.display = 'block';
   trigger.src = 'open.png';
   removeClass(linkObj,'closed');
   addClass(linkObj,'opened');
 } else if ( hasClass(linkObj,'opened') ) {
   summary.style.display = 'block';
   content.style.display = 'none';
   trigger.src = 'closed.png';
   removeClass(linkObj,'opened');
   addClass(linkObj,'closed');
 }
 return false;
}
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
      <li id="searchli">
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('class_e_t_undo_head.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-attribs">Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">ETUndoHead Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="ETUndoHead" --><!-- doxytag: inherits="CC_HDL2D" -->
<p>class representing the base of an undo-redo system in a sheet  
 <a href="class_e_t_undo_head.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="_e_t_undo_head_8h_source.html">ETUndoHead.h</a>&gt;</code></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png"/> Inheritance diagram for ETUndoHead:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="class_e_t_undo_head__inherit__graph.png" border="0" usemap="#_e_t_undo_head_inherit__map" alt="Inheritance graph"/></div>
<map name="_e_t_undo_head_inherit__map" id="_e_t_undo_head_inherit__map">
<area shape="rect" id="node2" href="class_c_c___h_d_l2_d.html" title="class representing the list header in a linked list system" alt="" coords="9,5,103,35"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-1-trigger" src="closed.png"/> Collaboration diagram for ETUndoHead:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="class_e_t_undo_head__coll__graph.png" border="0" usemap="#_e_t_undo_head_coll__map" alt="Collaboration graph"/></div>
<map name="_e_t_undo_head_coll__map" id="_e_t_undo_head_coll__map">
<area shape="rect" id="node7" href="class_e_t_sheet.html" title="Class representing logical root for all elements contained in a document (sheet)" alt="" coords="825,568,897,597"/><area shape="rect" id="node2" href="class_c_c___h_d_l2_d.html" title="class representing the list header in a linked list system" alt="" coords="877,373,971,403"/><area shape="rect" id="node29" href="class_e_t_s_i___root.html" title="sub&#45;item able to host a row of horizontal sub&#45;items" alt="" coords="793,472,879,501"/><area shape="rect" id="node4" href="class_c_c___l2_d.html" title="class representing the list element in a linked list system" alt="" coords="963,256,1035,285"/><area shape="rect" id="node31" href="class_e_t_sub_item.html" title="class representing the common interface exposed by all sub&#45;items of a ETI_CplxTxt" alt="" coords="637,373,725,403"/><area shape="rect" id="node42" href="class_e_t_undo_elem.html" title="class representing the common interface exposed by all sub&#45;items of a ETI_CplxTxt" alt="" coords="995,373,1093,403"/><area shape="rect" id="node11" href="class_mdi_child.html" title="form representing a document inside MDI area" alt="" coords="825,664,897,693"/><area shape="rect" id="node9" href="class_d_d_h_c_1_1_ghost.html" title="class to be inherited by the classes that need to be tracked" alt="" coords="807,25,911,55"/><area shape="rect" id="node15" href="class_d_d_h_c_1_1_c_inst.html" title="a container for class instances that inherit from DDHC:Ghost" alt="" coords="375,141,476,171"/><area shape="rect" id="node21" href="class_e_t_sheet_view.html" title="Widget capable of displaying an ETSheet content." alt="" coords="367,472,468,501"/><area shape="rect" id="node26" href="class_e_t_i___cplx_txt.html" title="class representing a complex text; this may or may not represent an equation" alt="" coords="547,256,643,285"/><area shape="rect" id="node17" href="class_d_d_h_c_1_1_mdl_item.html" title="the QModelIndex has internalPointer() either NULL or pointing to a class tha inherits this one..." alt="" coords="5,25,123,55"/><area shape="rect" id="node24" href="class_e_t_vp_command.html" title="abstract class representing prerequisites for a command running in a ETSheetView" alt="" coords="432,373,547,403"/></map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="class_e_t_undo_head-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#a5cfa3b0a2aeb69e0feaf4d35e3ca0296">ETUndoHead</a> (<a class="el" href="class_e_t_sheet.html">ETSheet</a> *sht)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor  <a href="#a5cfa3b0a2aeb69e0feaf4d35e3ca0296"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#a8f48c9c5afe9d0204825835d76f2f71a">~ETUndoHead</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">destructor  <a href="#a8f48c9c5afe9d0204825835d76f2f71a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_e_t_sheet.html">ETSheet</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#ad786010c58d39bc9569ec5e1319f8fc6">assocSheet</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">retrieve the associated sheet  <a href="#ad786010c58d39bc9569ec5e1319f8fc6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#ad7f13da7cd5f04cd344964f01aa8df15">erase</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">remove all items from this list by deleting them  <a href="#ad7f13da7cd5f04cd344964f01aa8df15"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a7e5da515643c374f40a8de89895c4185">setFirst</a> (<a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *pNew)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">set first item  <a href="#a7e5da515643c374f40a8de89895c4185"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a21a47644de2fc07de436b3aa4e6e3885">setCount</a> (int iNew)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">set number of items  <a href="#a21a47644de2fc07de436b3aa4e6e3885"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a54f56d39d65a96c776c5987dc74be22f">count</a> (void) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get the number of items  <a href="#a54f56d39d65a96c776c5987dc74be22f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a45ba5eb64823f749c39b9dcd45ce5fa2">itemIndex</a> (const <a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *pIt) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">returns the index of a particular item inside this chain  <a href="#a45ba5eb64823f749c39b9dcd45ce5fa2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#aaeb4db2f81d36d3f0fbf6c9699198d50">has</a> (const <a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *pIt) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">tell if an item is part of this chain  <a href="#aaeb4db2f81d36d3f0fbf6c9699198d50"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#ab78dfc0bce9b02a8aefc0c38b9168597">append</a> (<a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *pIt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">append an item (insert after last)  <a href="#ab78dfc0bce9b02a8aefc0c38b9168597"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a824d3fa11e390a90f7bdff462e05e008">prepend</a> (<a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *pIt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">prepend an item (insert as first item)  <a href="#a824d3fa11e390a90f7bdff462e05e008"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a4f1cf5d696119fd72e4d92feeedd480d">insert</a> (<a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *p_new, int index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">insert a item at specified index  <a href="#a4f1cf5d696119fd72e4d92feeedd480d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a91794ce4d2229517a315352e531119d5">ackAdd</a> (<a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *pNew)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">header is informed about an item being added  <a href="#a91794ce4d2229517a315352e531119d5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a334c5ce239278260dbb728fcc6351e85">remove</a> (int i)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">remove the item at given index  <a href="#a334c5ce239278260dbb728fcc6351e85"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#ab462b19c0866a6e8b286112a840a79ac">remove</a> (<a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *pIt)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">remove a particular item  <a href="#ab462b19c0866a6e8b286112a840a79ac"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#ae7ab1efe5a1340f7fa28aa0074e69cc8">ackDel</a> (<a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *pNew)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">header is informed about an item being deleted  <a href="#ae7ab1efe5a1340f7fa28aa0074e69cc8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a4aa8358cd1a165c0d97ebc0eb97f2841">dbgDump</a> (void) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">print the content of this object to debug output  <a href="#a4aa8358cd1a165c0d97ebc0eb97f2841"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Reimplementing some CC_HDL2D functionality</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_e_t_undo_elem.html">ETUndoElem</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#af622916c849ea25fa0a0612e2def8c80">first</a> (void) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get first item  <a href="#af622916c849ea25fa0a0612e2def8c80"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_e_t_undo_elem.html">ETUndoElem</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#a93d7d667683c96503632d3444e464559">last</a> (void) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get last item  <a href="#a93d7d667683c96503632d3444e464559"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_e_t_undo_elem.html">ETUndoElem</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#a9491704c213d14311c82c121689d2969">item</a> (int i) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get nth item  <a href="#a9491704c213d14311c82c121689d2969"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Maximum number of entries in list</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#ab5969f2f6c69586e4e94e514659bc548">setMaxCount</a> (int new_max)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">change the maximum number of entries that may be stored  <a href="#ab5969f2f6c69586e4e94e514659bc548"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#a5415501edb41ca98f3f7166a12293a0d">maxCount</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">tell the maximum number of entries that may be stored  <a href="#a5415501edb41ca98f3f7166a12293a0d"></a><br/></td></tr>
<tr><td colspan="2"><div class="groupHeader">Main functions</div></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#a534f29b142908093bf8bb5dc32d0df1a">addUndoItem</a> (<a class="el" href="class_e_t_undo_elem.html">ETUndoElem</a> *new_it)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">add a new undo item to this chain  <a href="#a534f29b142908093bf8bb5dc32d0df1a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#a1ba04c608d344205da60b8c58adde02a">performUndo</a> (int cnt=1)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">perform the undo action  <a href="#a1ba04c608d344205da60b8c58adde02a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#abf4ef027d767c94dceed09c9f4e43928">performRedo</a> (int cnt=1)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">perform the redo action  <a href="#abf4ef027d767c94dceed09c9f4e43928"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#a4c10f662f3feb7719332789cce44c98a">countUndo</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the number of Undo actions available from current point  <a href="#a4c10f662f3feb7719332789cce44c98a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#a09648edf7967eaf4a43d0bb6359eabd8">countRedo</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the number of Redo actions available from current point  <a href="#a09648edf7967eaf4a43d0bb6359eabd8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#a78a633ec76620692d87afb8eead8fecc">infoText</a> (bool in_undo_chain, int index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get the informative text for an action  <a href="#a78a633ec76620692d87afb8eead8fecc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">QString&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#a3b7f336e301e33adfa130c3576038e97">infoText</a> (int index)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">get the informative text for an action  <a href="#a3b7f336e301e33adfa130c3576038e97"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class <a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a9504f80f8fc6dcec6f4a5195136f7d1f">Lip1</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">pointer to first element in list  <a href="#a9504f80f8fc6dcec6f4a5195136f7d1f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_c_c___h_d_l2_d.html#a1e42afea12d79391780a0a834d354bdc">iCnt</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">number of items that belong to this chain  <a href="#a1e42afea12d79391780a0a834d354bdc"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_e_t_sheet.html">ETSheet</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#ae62590579ebaa66daf098a13d433b817">asc_sheet</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">associated sheet  <a href="#ae62590579ebaa66daf098a13d433b817"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#a264a451e83a84f9b5dcbd3340ae1b045">undo_bf_size</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">maximum number of entries to keep; use -1 for infinite  <a href="#a264a451e83a84f9b5dcbd3340ae1b045"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#a5649ac0b409e3ea1001e5dd5c27f486d">redo_count</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">number of actions that may be redone at this time  <a href="#a5649ac0b409e3ea1001e5dd5c27f486d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_e_t_undo_elem.html">ETUndoElem</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_e_t_undo_head.html#a8c602a483eab5c38a6e4f1b8a21f803f">crt_ptr</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">current pointer  <a href="#a8c602a483eab5c38a6e4f1b8a21f803f"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>class representing the base of an undo-redo system in a sheet </p>
<p>crt_ptr element holds a pointer to the current element in the chain; this is the first item to be redone and may be NULL, meaning that there is no element to redone and first to be undone is first in chain; to get first element to be undone if crt_ptr is != NULL use <a class="el" href="class_e_t_undo_elem.html#a80f0e8d8608fbb2fb2c7c1ceb3839bbe" title="return next item">ETUndoElem::next()</a></p>
<p>If an item is added using <a class="el" href="class_e_t_undo_head.html#a534f29b142908093bf8bb5dc32d0df1a" title="add a new undo item to this chain">addUndoItem()</a> and crt_ptr is non-null, all items preceding crt_ptr item and the item itself are deleted. New item is always placed as the first item in chain.</p>
<p>External factors may tigger an undo using <a class="el" href="class_e_t_undo_head.html#a1ba04c608d344205da60b8c58adde02a" title="perform the undo action">performUndo()</a>; <a class="el" href="class_e_t_undo_head.html#abf4ef027d767c94dceed09c9f4e43928" title="perform the redo action">performRedo()</a> is it's counterpart. The functions may also be provided with an argument telling how manny actions to perform. </p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8h_source.html#l00081">81</a> of file <a class="el" href="_e_t_undo_head_8h_source.html">ETUndoHead.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a5cfa3b0a2aeb69e0feaf4d35e3ca0296"></a><!-- doxytag: member="ETUndoHead::ETUndoHead" ref="a5cfa3b0a2aeb69e0feaf4d35e3ca0296" args="(ETSheet *sht)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ETUndoHead::ETUndoHead </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_e_t_sheet.html">ETSheet</a> *&#160;</td>
          <td class="paramname"><em>sht</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>constructor </p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8cc_source.html#l00062">62</a> of file <a class="el" href="_e_t_undo_head_8cc_source.html">ETUndoHead.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a8f48c9c5afe9d0204825835d76f2f71a"></a><!-- doxytag: member="ETUndoHead::~ETUndoHead" ref="a8f48c9c5afe9d0204825835d76f2f71a" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ETUndoHead::~ETUndoHead </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>destructor </p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8cc_source.html#l00073">73</a> of file <a class="el" href="_e_t_undo_head_8cc_source.html">ETUndoHead.cc</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a91794ce4d2229517a315352e531119d5"></a><!-- doxytag: member="ETUndoHead::ackAdd" ref="a91794ce4d2229517a315352e531119d5" args="(CC_L2D *pNew)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::ackAdd </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>pNew</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>header is informed about an item being added </p>
<p>If the caller already inserted the items into the chain, this function may be used to inform the header AFTER the insertion. The function will only update the counter and, if inserted item is first item, the pointer. </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00163">163</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ae7ab1efe5a1340f7fa28aa0074e69cc8"></a><!-- doxytag: member="ETUndoHead::ackDel" ref="ae7ab1efe5a1340f7fa28aa0074e69cc8" args="(CC_L2D *pNew)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::ackDel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>pNew</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>header is informed about an item being deleted </p>
<p>If the caller already removed the items from the chain, <a class="el" href="class_c_c___h_d_l2_d.html#ae7ab1efe5a1340f7fa28aa0074e69cc8" title="header is informed about an item being deleted">ackDel()</a> function may be used to inform the header AFTER the removal. The function will only update the counter and, if the item is first item, the pointer. It is expected that the item has it's internal fields intact (pointer to next item is used to replace internal pointer). </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00179">179</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a534f29b142908093bf8bb5dc32d0df1a"></a><!-- doxytag: member="ETUndoHead::addUndoItem" ref="a534f29b142908093bf8bb5dc32d0df1a" args="(ETUndoElem *new_it)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ETUndoHead::addUndoItem </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_e_t_undo_elem.html">ETUndoElem</a> *&#160;</td>
          <td class="paramname"><em>new_it</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>add a new undo item to this chain </p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8cc_source.html#l00080">80</a> of file <a class="el" href="_e_t_undo_head_8cc_source.html">ETUndoHead.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ab78dfc0bce9b02a8aefc0c38b9168597"></a><!-- doxytag: member="ETUndoHead::append" ref="ab78dfc0bce9b02a8aefc0c38b9168597" args="(CC_L2D *pIt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::append </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>pIt</em></td><td>)</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>append an item (insert after last) </p>
<p>It should be noted that this function does not check if the item is already part of a chain. If the item is part of another chain, the caller is required to extract the item before the call. </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00118">118</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ad786010c58d39bc9569ec5e1319f8fc6"></a><!-- doxytag: member="ETUndoHead::assocSheet" ref="ad786010c58d39bc9569ec5e1319f8fc6" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_e_t_sheet.html">ETSheet</a>* ETUndoHead::assocSheet </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>retrieve the associated sheet </p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8h_source.html#l00143">143</a> of file <a class="el" href="_e_t_undo_head_8h_source.html">ETUndoHead.h</a>.</p>

</div>
</div>
<a class="anchor" id="a54f56d39d65a96c776c5987dc74be22f"></a><!-- doxytag: member="ETUndoHead::count" ref="a54f56d39d65a96c776c5987dc74be22f" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int CC_HDL2D::count </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get the number of items </p>

<p>Definition at line <a class="el" href="cc__l2d_8h_source.html#l00210">210</a> of file <a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a09648edf7967eaf4a43d0bb6359eabd8"></a><!-- doxytag: member="ETUndoHead::countRedo" ref="a09648edf7967eaf4a43d0bb6359eabd8" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ETUndoHead::countRedo </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the number of Redo actions available from current point </p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8h_source.html#l00220">220</a> of file <a class="el" href="_e_t_undo_head_8h_source.html">ETUndoHead.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4c10f662f3feb7719332789cce44c98a"></a><!-- doxytag: member="ETUndoHead::countUndo" ref="a4c10f662f3feb7719332789cce44c98a" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ETUndoHead::countUndo </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the number of Undo actions available from current point </p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8h_source.html#l00215">215</a> of file <a class="el" href="_e_t_undo_head_8h_source.html">ETUndoHead.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4aa8358cd1a165c0d97ebc0eb97f2841"></a><!-- doxytag: member="ETUndoHead::dbgDump" ref="a4aa8358cd1a165c0d97ebc0eb97f2841" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::dbgDump </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>print the content of this object to debug output </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00195">195</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ad7f13da7cd5f04cd344964f01aa8df15"></a><!-- doxytag: member="ETUndoHead::erase" ref="ad7f13da7cd5f04cd344964f01aa8df15" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::erase </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>remove all items from this list by deleting them </p>
<p>This function assumes that the <a class="el" href="class_c_c___l2_d.html" title="class representing the list element in a linked list system">CC_L2D</a> elements were allocated using new() and it deletes them using delete). </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00062">62</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="af622916c849ea25fa0a0612e2def8c80"></a><!-- doxytag: member="ETUndoHead::first" ref="af622916c849ea25fa0a0612e2def8c80" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_e_t_undo_elem.html">ETUndoElem</a>* ETUndoHead::first </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get first item </p>

<p>Reimplemented from <a class="el" href="class_c_c___h_d_l2_d.html#a370a5232a03bda7e5d630ed693a1a868">CC_HDL2D</a>.</p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8h_source.html#l00155">155</a> of file <a class="el" href="_e_t_undo_head_8h_source.html">ETUndoHead.h</a>.</p>

</div>
</div>
<a class="anchor" id="aaeb4db2f81d36d3f0fbf6c9699198d50"></a><!-- doxytag: member="ETUndoHead::has" ref="aaeb4db2f81d36d3f0fbf6c9699198d50" args="(const CC_L2D *pIt) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool CC_HDL2D::has </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>pIt</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>tell if an item is part of this chain </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00108">108</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a3b7f336e301e33adfa130c3576038e97"></a><!-- doxytag: member="ETUndoHead::infoText" ref="a3b7f336e301e33adfa130c3576038e97" args="(int index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QString ETUndoHead::infoText </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get the informative text for an action </p>
<dl class="note"><dt><b>Note:</b></dt><dd>this is an overload </dd></dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>either the text or an empty string if the index was out of bounds </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">index</td><td>index of the item for which the caller needs informative text; the index is relative to the chain and does not take current item into consideration </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_e_t_undo_head_8cc_source.html#l00241">241</a> of file <a class="el" href="_e_t_undo_head_8cc_source.html">ETUndoHead.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a78a633ec76620692d87afb8eead8fecc"></a><!-- doxytag: member="ETUndoHead::infoText" ref="a78a633ec76620692d87afb8eead8fecc" args="(bool in_undo_chain, int index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QString ETUndoHead::infoText </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>in_undo_chain</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get the informative text for an action </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>either the text or an empty string if the index was out of bounds </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">in_undo_chain</td><td>if set to true, the item is determined by searching the undo chain; if set to false, the redo chain is searched </td></tr>
    <tr><td class="paramname">index</td><td>index of the item for which the caller needs informative text; the interpretation depends uppon <b>in_undo_chain</b> parameter and is relative to current item </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="_e_t_undo_head_8cc_source.html#l00227">227</a> of file <a class="el" href="_e_t_undo_head_8cc_source.html">ETUndoHead.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a4f1cf5d696119fd72e4d92feeedd480d"></a><!-- doxytag: member="ETUndoHead::insert" ref="a4f1cf5d696119fd72e4d92feeedd480d" args="(CC_L2D *p_new, int index)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::insert </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>p_new</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>insert a item at specified index </p>
<p>It should be noted that this function does not check if the item is already part of a chain. If the item is part of another chain, the caller is required to extract the item before the call. </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00077">77</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a9491704c213d14311c82c121689d2969"></a><!-- doxytag: member="ETUndoHead::item" ref="a9491704c213d14311c82c121689d2969" args="(int i) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_e_t_undo_elem.html">ETUndoElem</a>* ETUndoHead::item </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get nth item </p>

<p>Reimplemented from <a class="el" href="class_c_c___h_d_l2_d.html#ad308ec502634bc352fd81c96ef228bd9">CC_HDL2D</a>.</p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8h_source.html#l00165">165</a> of file <a class="el" href="_e_t_undo_head_8h_source.html">ETUndoHead.h</a>.</p>

</div>
</div>
<a class="anchor" id="a45ba5eb64823f749c39b9dcd45ce5fa2"></a><!-- doxytag: member="ETUndoHead::itemIndex" ref="a45ba5eb64823f749c39b9dcd45ce5fa2" args="(const CC_L2D *pIt) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int CC_HDL2D::itemIndex </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>pIt</em></td><td>)</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>returns the index of a particular item inside this chain </p>
<p>The index is 0 based. If the pointer was not found inside the chain the function returns -1. </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00113">113</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a93d7d667683c96503632d3444e464559"></a><!-- doxytag: member="ETUndoHead::last" ref="a93d7d667683c96503632d3444e464559" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_e_t_undo_elem.html">ETUndoElem</a>* ETUndoHead::last </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>get last item </p>

<p>Reimplemented from <a class="el" href="class_c_c___h_d_l2_d.html#a94114064a2fdb3327e96eaa1884d0ec4">CC_HDL2D</a>.</p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8h_source.html#l00160">160</a> of file <a class="el" href="_e_t_undo_head_8h_source.html">ETUndoHead.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5415501edb41ca98f3f7166a12293a0d"></a><!-- doxytag: member="ETUndoHead::maxCount" ref="a5415501edb41ca98f3f7166a12293a0d" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ETUndoHead::maxCount </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>tell the maximum number of entries that may be stored </p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8h_source.html#l00186">186</a> of file <a class="el" href="_e_t_undo_head_8h_source.html">ETUndoHead.h</a>.</p>

</div>
</div>
<a class="anchor" id="abf4ef027d767c94dceed09c9f4e43928"></a><!-- doxytag: member="ETUndoHead::performRedo" ref="abf4ef027d767c94dceed09c9f4e43928" args="(int cnt=1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ETUndoHead::performRedo </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>cnt</em> = <code>1</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>perform the redo action </p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8cc_source.html#l00161">161</a> of file <a class="el" href="_e_t_undo_head_8cc_source.html">ETUndoHead.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a1ba04c608d344205da60b8c58adde02a"></a><!-- doxytag: member="ETUndoHead::performUndo" ref="a1ba04c608d344205da60b8c58adde02a" args="(int cnt=1)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ETUndoHead::performUndo </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>cnt</em> = <code>1</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>perform the undo action </p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8cc_source.html#l00111">111</a> of file <a class="el" href="_e_t_undo_head_8cc_source.html">ETUndoHead.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a824d3fa11e390a90f7bdff462e05e008"></a><!-- doxytag: member="ETUndoHead::prepend" ref="a824d3fa11e390a90f7bdff462e05e008" args="(CC_L2D *pIt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::prepend </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>pIt</em></td><td>)</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>prepend an item (insert as first item) </p>
<p>It should be noted that this function does not check if the item is already part of a chain. If the item is part of another chain, the caller is required to extract the item before the call. </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00130">130</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a334c5ce239278260dbb728fcc6351e85"></a><!-- doxytag: member="ETUndoHead::remove" ref="a334c5ce239278260dbb728fcc6351e85" args="(int i)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::remove </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>i</em></td><td>)</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>remove the item at given index </p>
<p>extract an item from the chain WITHOUT deleting the item </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00142">142</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="ab462b19c0866a6e8b286112a840a79ac"></a><!-- doxytag: member="ETUndoHead::remove" ref="ab462b19c0866a6e8b286112a840a79ac" args="(CC_L2D *pIt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::remove </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>pIt</em></td><td>)</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>remove a particular item </p>
<p>extract an item from the chain WITHOUT deleting the item </p>

<p>Definition at line <a class="el" href="cc__l2d_8cc_source.html#l00153">153</a> of file <a class="el" href="cc__l2d_8cc_source.html">cc_l2d.cc</a>.</p>

</div>
</div>
<a class="anchor" id="a21a47644de2fc07de436b3aa4e6e3885"></a><!-- doxytag: member="ETUndoHead::setCount" ref="a21a47644de2fc07de436b3aa4e6e3885" args="(int iNew)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::setCount </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>iNew</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set number of items </p>

<p>Definition at line <a class="el" href="cc__l2d_8h_source.html#l00187">187</a> of file <a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a7e5da515643c374f40a8de89895c4185"></a><!-- doxytag: member="ETUndoHead::setFirst" ref="a7e5da515643c374f40a8de89895c4185" args="(CC_L2D *pNew)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CC_HDL2D::setFirst </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_c_c___l2_d.html">CC_L2D</a> *&#160;</td>
          <td class="paramname"><em>pNew</em></td><td>)</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>set first item </p>

<p>Definition at line <a class="el" href="cc__l2d_8h_source.html#l00182">182</a> of file <a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab5969f2f6c69586e4e94e514659bc548"></a><!-- doxytag: member="ETUndoHead::setMaxCount" ref="ab5969f2f6c69586e4e94e514659bc548" args="(int new_max)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ETUndoHead::setMaxCount </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>new_max</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>change the maximum number of entries that may be stored </p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8cc_source.html#l00198">198</a> of file <a class="el" href="_e_t_undo_head_8cc_source.html">ETUndoHead.cc</a>.</p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="ae62590579ebaa66daf098a13d433b817"></a><!-- doxytag: member="ETUndoHead::asc_sheet" ref="ae62590579ebaa66daf098a13d433b817" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_e_t_sheet.html">ETSheet</a>* <a class="el" href="class_e_t_undo_head.html#ae62590579ebaa66daf098a13d433b817">ETUndoHead::asc_sheet</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>associated sheet </p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8h_source.html#l00107">107</a> of file <a class="el" href="_e_t_undo_head_8h_source.html">ETUndoHead.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8c602a483eab5c38a6e4f1b8a21f803f"></a><!-- doxytag: member="ETUndoHead::crt_ptr" ref="a8c602a483eab5c38a6e4f1b8a21f803f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_e_t_undo_elem.html">ETUndoElem</a>* <a class="el" href="class_e_t_undo_head.html#a8c602a483eab5c38a6e4f1b8a21f803f">ETUndoHead::crt_ptr</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>current pointer </p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8h_source.html#l00116">116</a> of file <a class="el" href="_e_t_undo_head_8h_source.html">ETUndoHead.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1e42afea12d79391780a0a834d354bdc"></a><!-- doxytag: member="ETUndoHead::iCnt" ref="a1e42afea12d79391780a0a834d354bdc" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_c_c___h_d_l2_d.html#a1e42afea12d79391780a0a834d354bdc">CC_HDL2D::iCnt</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>number of items that belong to this chain </p>

<p>Definition at line <a class="el" href="cc__l2d_8h_source.html#l00149">149</a> of file <a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a9504f80f8fc6dcec6f4a5195136f7d1f"></a><!-- doxytag: member="ETUndoHead::Lip1" ref="a9504f80f8fc6dcec6f4a5195136f7d1f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">class <a class="el" href="class_c_c___l2_d.html">CC_L2D</a>* <a class="el" href="class_c_c___h_d_l2_d.html#a9504f80f8fc6dcec6f4a5195136f7d1f">CC_HDL2D::Lip1</a><code> [protected, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>pointer to first element in list </p>

<p>Definition at line <a class="el" href="cc__l2d_8h_source.html#l00146">146</a> of file <a class="el" href="cc__l2d_8h_source.html">cc_l2d.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5649ac0b409e3ea1001e5dd5c27f486d"></a><!-- doxytag: member="ETUndoHead::redo_count" ref="a5649ac0b409e3ea1001e5dd5c27f486d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_e_t_undo_head.html#a5649ac0b409e3ea1001e5dd5c27f486d">ETUndoHead::redo_count</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>number of actions that may be redone at this time </p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8h_source.html#l00113">113</a> of file <a class="el" href="_e_t_undo_head_8h_source.html">ETUndoHead.h</a>.</p>

</div>
</div>
<a class="anchor" id="a264a451e83a84f9b5dcbd3340ae1b045"></a><!-- doxytag: member="ETUndoHead::undo_bf_size" ref="a264a451e83a84f9b5dcbd3340ae1b045" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="class_e_t_undo_head.html#a264a451e83a84f9b5dcbd3340ae1b045">ETUndoHead::undo_bf_size</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>maximum number of entries to keep; use -1 for infinite </p>

<p>Definition at line <a class="el" href="_e_t_undo_head_8h_source.html#l00110">110</a> of file <a class="el" href="_e_t_undo_head_8h_source.html">ETUndoHead.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_e_t_undo_head_8h_source.html">ETUndoHead.h</a></li>
<li><a class="el" href="_e_t_undo_head_8cc_source.html">ETUndoHead.cc</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="class_e_t_undo_head.html">ETUndoHead</a>      </li>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

    <li class="footer">Generated on Sun Oct 23 2011 22:06:50 for EquTemper by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </li>
   </ul>
 </div>
</body>
</html>
